863ba559860a096fa3e797a4ba6657c6286d57df,core/languageDesign/smodelLanguage/source_gen/jetbrains/mps/bootstrap/smodelLanguage/constraints/SPropertyAccess_property_ReferentConstraint.java,SPropertyAccess_property_ReferentConstraint,createNodeReferentSearchScope,#IOperationContext#ReferentConstraintContext#,36

Before Change



  public ISearchScope createNodeReferentSearchScope(final IOperationContext operationContext, final ReferentConstraintContext _context) {
    SNode dotOperand = SLinkOperations.getTarget(_context.getEnclosingNode(), "operand", true);
    SNode nodeType = TypeChecker.getInstance().getRuntimeSupport().coerce(TypeChecker.getInstance().getTypeOf(dotOperand), HUtil.createMatchingPatternByConceptFQName("jetbrains.mps.bootstrap.smodelLanguage.structure.SNodeType"), false);
    if(nodeType == null) {
      return null;
    }
    SNode dotOperandConcept = SLinkOperations.getTarget(nodeType, "concept", false);
    if(dotOperandConcept == null) {
      dotOperandConcept = SConceptOperations.findConceptDeclaration("jetbrains.mps.core.structure.BaseConcept");
    }

After Change


  public ISearchScope createNodeReferentSearchScope(final IOperationContext operationContext, final ReferentConstraintContext _context) {
    SNode dotOperandConcept = null;
    SNode dotOperand = SLinkOperations.getTarget(_context.getEnclosingNode(), "operand", true);
    SNode dotOperandType = TypeChecker.getInstance().getTypeOf(dotOperand);
    if(SNodeOperations.isInstanceOf(dotOperandType, "jetbrains.mps.bootstrap.smodelLanguage.structure._LinkAccessT")) {
      dotOperandConcept = SLinkOperations.getTarget(dotOperandType, "targetConcept", false);
    } else
    {
      SNode nodeType = TypeChecker.getInstance().getRuntimeSupport().coerce(dotOperandType, HUtil.createMatchingPatternByConceptFQName("jetbrains.mps.bootstrap.smodelLanguage.structure.SNodeType"), false);
      dotOperandConcept = SLinkOperations.getTarget(nodeType, "concept", false);
    }
    if(dotOperandConcept == null) {
      dotOperandConcept = SConceptOperations.findConceptDeclaration("jetbrains.mps.core.structure.BaseConcept");